.page-root{ padding:24rpx }
.page-card{ background:#fff; border-radius:12rpx; box-shadow:0 8rpx 24rpx rgba(8,28,45,0.06); overflow:hidden }
.card-header{ display:flex; align-items:center; justify-content:space-between; padding:20rpx 24rpx; border-bottom:1rpx solid #f1f5f9 }
.page-title{ font-size:32rpx; color:#111827 }
.header-actions{ display:flex; gap:12rpx; align-items:center }
.input-sm{ padding:12rpx; border-radius:8rpx; border:1rpx solid #e6e9ee }
.btn-primary{ background:#2563eb; color:#fff; padding:10rpx 16rpx; border-radius:10rpx }
.picker-box{ padding:12rpx; border-radius:8rpx; border:1rpx solid #e6e9ee }

.card-body{ padding:20rpx }
.grid{ display:grid; grid-template-columns: repeat(3, 1fr); gap:16rpx }
.task-card{ background:#fff; border-radius:10rpx; padding:16rpx; box-shadow:0 4rpx 12rpx rgba(8,28,45,0.04) }
.task-title{ font-size:28rpx; color:#0f172a }
.task-meta{ color:#6b7280; margin-top:6rpx }

@media (max-width:640px){ .grid{ grid-template-columns: repeat(1, 1fr) } }